package com.cmwa.solution.business.customerEquity.prdFeeYield.dao;

import java.util.List;

import com.cmwa.solution.annotation.MybatisDao;
import com.cmwa.solution.base.entity.SearchParam;
import com.cmwa.solution.business.customerEquity.prdFeeYield.entity.FeeYieldVo;
import com.cmwa.solution.business.customerEquity.prdFeeYield.entity.PrdFeeYieldVo;
import com.cmwa.solution.business.product.entity.TreFeeDetailVo;
import com.cmwa.solution.business.product.entity.TreFeeRateChangeVo;
import com.cmwa.solution.business.product.entity.TreFeeTypeVo;

@MybatisDao

public interface PrdFeeYieldDao {
    List<PrdFeeYieldVo> prdFeeYieldListPage(SearchParam sp);
	
	List<PrdFeeYieldVo> prdFeeYieldList(SearchParam sp);
	
    List<FeeYieldVo> feeYieldListPage(SearchParam sp);
	
	List<FeeYieldVo> feeYieldList(SearchParam sp);
	
	FeeYieldVo queryYJandSJAmount(SearchParam sp);
	
	PrdFeeYieldVo queryExpectPayAmountAndBnsAmt(SearchParam sp);
	
	FeeYieldVo queryYJandSJCount(SearchParam sp);
	
	List<FeeYieldVo> queryFeeYieldBySubPrdCodeListPage(SearchParam sp);
	
	List<FeeYieldVo> queryChangFeeYieldByFeeIdListPage(SearchParam sp);
	
	void insertFee(FeeYieldVo vo);
	
	void insertFeePlan(FeeYieldVo vo);
	
	void insertYield(FeeYieldVo vo);
	
	void insertYieldPlan(FeeYieldVo vo);
	
	void insertReturnPlan(FeeYieldVo vo);
	
	void deleteReturnPlan(String subPrdCode);
	
	FeeYieldVo feeYield(SearchParam sp);
	
	String vReturnPlan(SearchParam sp);
	
	void feeOrYieldInfoUpdate(FeeYieldVo vo);
	
	void feeOrYieldInfoDelete(SearchParam sp);
	
	void insertPrdFeeDetail(TreFeeDetailVo treFeeDetailVo);
	
	void insertPrdFeeRateChange(TreFeeRateChangeVo treFeeRateChangeVo);
	
	void deletePrdFeeDetail(List<String> ids);
	
	List<TreFeeTypeVo> feeTypeList();
}
